package com.naiterui.ehp.bs.cms.modules.agent.service;

import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.cms.common.vo.PageParamsVO;
import com.naiterui.ehp.bs.cms.common.vo.PageVO;
import com.naiterui.ehp.bs.cms.modules.agent.po.AgentPagePO;
import com.naiterui.ehp.bs.cms.modules.agent.po.AreaPagePO;
import com.naiterui.ehp.bs.cms.modules.agent.po.AreaSavePO;
import com.naiterui.ehp.bs.cms.modules.agent.vo.AgentPageItemVO;
import com.naiterui.ehp.bs.cms.modules.agent.vo.AreaDetailVO;
import com.naiterui.ehp.bs.cms.modules.agent.vo.AreaItemVO;
import com.naiterui.ehp.bs.cms.modules.agent.vo.IdAndName;
import com.naiterui.ehp.bs.cms.modules.agent.vo.TreeDataVO;

import java.util.List;

/**
 * @author yiren
 * @since 2022/2/16
 */
public interface IAgentAreaService {
	PageVO<AreaItemVO> queryPage(PageParamsVO pageParamsVO, AreaPagePO pagePO, Integer areaLev);

	/**
	 * 查询区域详情
	 * @param id
	 * @return
	 */
	AreaDetailVO getDetail(Long id);

	/**
	 * 查询区域树形结构数据
	 * @return
	 */
	List<TreeDataVO> findTreeData(Integer type);

	void saveArea(AreaSavePO savePO, Integer areaLev) throws BusinessException;

	List<IdAndName> findCanChangeCity(Long areaId);

	List<IdAndName> findCityAll();

}
